查看原文
其他

Dropbox 借助 Jetpack Compose,提速 40% 重建搜索体验

Android Android 开发者 2023-11-14


作者 / Android 团队


Dropbox 覆盖 180 个国家/地区,在 Google Play 上的下载量超过 10 亿次,是全球热门的文件共享和云存储服务。Dropbox 致力于设计一种更具启发性的工作方式,让生活井井有条,工作顺利。正因为这样,Dropbox 近期采用了 Android 的现代声明式界面工具包 Jetpack Compose 来打造原生界面。


  • Dropbox
    https://play.google.com/store/apps/details?id=com.dropbox.android

  • Jetpack Compose
    https://developer.android.google.cn/jetpack/compose



更智能、更快速的界面构建方式



自从采用 Compose 以来,Dropbox 开发人员为该应用重写了许多功能,包括其主屏幕、文件预览功能和搜索体验。Dropbox 的搜索体验在短短几周内就得以完全重建,比预期用时缩短了 40%,不到他们针对 iOS 构建相同功能所用时间的一半


该团队之所以能够提升工作效率,得益于 Compose 的使用十分轻松简单。自从重建搜索体验以来,Dropbox 开发人员发现搜索会话的成功率增加了 13%,这是团队关注的一个关键指标。


Compose 助力 Dropbox 开发人员加快节奏,利用该工具包的基本构建块和实用工具轻松构建复杂的自定义界面。Dropbox 的资深 Android 工程师 Ryan Harter 表示,"该工具包支持采用不同配置或包含不同数据的多个预览,让我们在构建组件时可以考虑各种变体,无需等到事后再进行测试"。


Dropbox 团队还基于 Android 的 MaterialTheme 构建了一个新的设计系统,这是工程师们遵循 Compose 最佳实践实现的成果。这一举措最大限度缩短了 Dropbox 开发人员完成应用基础构建工作的时间,让他们可以利用 Compose 构建新功能,同时兼顾与 Dropbox 品牌一致的外观和风格。


  • MaterialTheme

    https://developer.android.google.cn/reference/kotlin/androidx/compose/material/MaterialTheme

  • Compose 最佳实践

    https://developer.android.google.cn/jetpack/compose/designsystems/custom



与 View 的兼容性

使 Compose 更易上手



Compose 与 View 的互操作性也让 Dropbox 开发人员更加愿意使用 Compose,利用这两个工具包进行协同开发的便利性让他们眼前一亮。Dropbox 团队能够在应用中支持经典的 View 库和插件,同时可使用 Compose 创建新的界面组件。因此,Dropbox 开发人员可以逐步将 Dropbox 应用迁移到 Compose,而不是彻底重构应用。


"与 Compose 的互操作性使我们能够进一步采用该工具包,即便我们有时需要在某些工作流程中与 View 进行交互,例如 ExoPlayer 视图和 PDF 文档视图",Ryan 补充道,"开发者可以从较小的组件开始,体验其优势和更快的速度,而不需要重新编写整个应用。很明显,Compose 的设计着眼于让用户无需进行全盘迁移"。



改进的测试和实验功能



在重写代码的过程中,Dropbox 的工程师们发现,Compose 使开发变得更加容易,测试也变得更高效。"Compose 与 Android Studio 的预览支持相结合,使我们能够在开发界面时缩短反馈周期,从而更快地进行功能迭代",Ryan 继续说道。

借力 Compose 赋能的快速反馈周期和交互式预览,Dropbox 团队得以快速进行用户体验实验,对与功能更新相关的各种假设进行测试,进而更轻松地发布功能。

"如果出现性能或使用方法方面的问题,我们会在 Android Studio 中使用交互式预览来测试和衡量结果,以便验证更多假设,获得更多答案",Dropbox 的高级软件工程师 Alison Wyllie 表示。"而 Compose 自带的快速反馈周期和交互式预览让我们能够快速开展用户体验相关实验,验证我们的假设,进而助力我们更快地将功能提供给用户"。

Jetpack Compose 对单向数据流 (UDF) 的推动也为 Dropbox 工程师的测试和调试工作带来了便利。通过将 UDF 与 Compose 测试库和该工具包的声明式界面创建方法相结合,Dropbox 团队能够确信 Dropbox 应用的功能稳定且没有错误,因为他们可以在发布前对其进行全面测试。


  • 单向数据流

    https://developer.android.google.cn/jetpack/compose/architecture



借力 Jetpack Compose 持续改进



利用 Compose 方便快捷地进行迭代和获取反馈给 Dropbox 的工程师们留下了深刻印象。通过交互式和设备端预览,Compose 赋能 Dropbox 团队采用以前无法实现的方式进行实验和开发。Dropbox 团队打算继续使用 Compose 构建 Dropbox 应用的设计系统,并计划多数新功能将使用此工具包编写。

"Compose 在很多关键领域为我们提供了全新的开始,在这些领域寻求突破曾让 Android 工程师犯难。我非常期待看到 Google 和开源社区接下来会创造出什么样的新功能",Allison 表示。


开始使用



欢迎您即刻使用 Jetpack Compose 优化界面开发。也欢迎您持续关注 "Android 开发者" 微信公众号,及时获取更多开发技术和产品更新等资讯动态。

  • Jetpack Compose

    https://developer.android.google.cn/jetpack/compose




推荐阅读

如页面未加载,请刷新重试

 点击屏末 | 阅读原文 | 即刻了解 Jetpack Compose 更多信息




继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存